str1 = 'hello python and chuanzhi and world!!!'

# replace
# TODO 格式: replace(self, __old, __new, __count)
#  self: 暂时不用理会, 不用我们传值
#  __old : 旧值
#  __new : 新值
#  __count : 替换次数
#  将字符串中的子字符串替换为新的字符内容的方法, 原始数据不发生变化,生成新的字符串数据

# 需求1: 将str1中所有的and 替换为 &&
str2 = str1.replace('and', '&&')
print(str2) # hello python && chuanzhi && world!!!

# 需求2: 将str1中从左至右第一个and 替换为 &&
str3 = str1.replace('and', '&&', 1)
print(str3) # hello python && chuanzhi and world!!!

# TODO 如果 count 大于其最大拥有的子字符串数量,则 全部替换
# 如果没有给count传值,则全部替换
str4 = str1.replace('and', '&&', 5)
print(str4) # hello python && chuanzhi && world!!!

# 需求3: 将str1中的dingdang 替换为 duola
# 当要替换旧字符串在目标字符串中不存在时,不会报错,但是也不会替换
str5 = str1.replace('dingdang', 'duola')
print(str5) # hello python and chuanzhi and world!!!

# 原始字符串始终未发生改变
print(str1)  # hello python and chuanzhi and world!!!
